R语言执行RLQ分析和第四角分析
接下来就需探讨怎样确立三种类型数据集之间的关联。
下文列举两种方法。
Legendre等(1997)提出第四角(fourth‐corner)分析,将三种数据集组合成一个可描述性状-环境关联的矩阵(称为第四角矩阵),并通过置换检验评估这些关联的重要性。
Dolédec等(1996)提出RLQ(R-mode linked to Q-mode)分析,通过对三种数据集同时排序,概括它们之间的联合结构。尽管RLQ分析和第四角分析分别独立被提出,但在数学方法上,它对应了第四角矩阵的广义奇异值分解。
本篇接下来就通过一些示例,简介这两种方法在R语言中的实现过程。
RLQ分析
RLQ分析可视为协惯量分析(Co-inertia Analysis,CoIA)的拓展。在生态学研究中,RLQ通过结合R、L和Q的三个独立分析过程,旨在确定物种丰度介导的环境梯度与物种性状之间的关系。
注:RLQ分析属于对称分析,非模型类的排序分析,环境和物种之间无解释与被解释关系,它们之间的关联通过某种类型的“相关性”作为描述。
RLQ分析在其它领域同样应用广泛,例如在组学研究中,使用RLQ分析关联样本特征、基因表达谱以及基因功能。
暂且先撇开RLQ分析在其它领域的应用场景,还是以物种性状-物种丰度-环境梯度这种关系为例,对这种方法作个初步认识。
接下来以R包ade4中的RLQ方法为例做演示。
数据集
ade4的内置数据集“aravo”,记录了75个地点中82种高山植物的分布,同时还测量了物种性状特征和环境特征。
library(ade4)
#数据集,详情 ?aravo
data(aravo)
summary(aravo)
head(aravo$env) #环境数据
head(aravo$spe[1:6]) #物种丰度数据
head(aravo$traits) #物种性状数据
#head(aravo$spe.names) #物种名称
执行RLQ分析
RLQ分析在过程上与CoIA存在几分相似,首先分别对每个数据集执行特征分解,之后将三步排序过程的结果整合。由此,RLQ可以找到环境特征(即由环境变量分解所得的特征向量)和物种性状特征(即由物种性状变量分解所得的特征向量)之间平方协惯量最大的线性组合,以一组协惯量轴作为呈现,各轴之间正交。最后将R、Q、L中的原始对象和变量投影至协惯量轴中,据此判断它们之间的关系。并可结合置换检验,确定RLQ的有效性。
例如根据ade4包中的方法,物种丰度数据集可使用dudi.coa()(对应分析);全部为定量变量的物种性状数据集使用dudi.pca()(主成分分析),同时根据物种权重进行加权;环境数据集中包含定量和分类变量,可使用dudi.hillsmith()处理,该函数允许考虑各种变量类型的混合,同时根据样方权重进行加权。
#三种数据集各自的排序分析过程
#样方-物种丰度的对应分析(CA),结果中保留两个排序轴,详情 ?dudi.coa
afcL.aravo <- dudi.coa(aravo$spe, scannf = FALSE, nf = 2)
#详情 ?dudi.hillsmith(),如果数据集中的变量全部为定量变量,则等效于 PCA;如果全为因子变量,则等效于 MCA
#行权重根据样方-物种丰度排序结果中的样方权重进行加权,结果中保留两个排序轴
acpR.aravo <- dudi.hillsmith(aravo$env, row.w = afcL.aravo$lw, scannf = FALSE, nf = 2)
#物种性状的主成分分析(PCA),详情 ?dudi.pca
#由于各性状类型的量纲不同,需要对数据集标准化处理
#行权重根据样方-物种丰度排序结果中的物种权重进行加权,结果中保留两个排序轴
acpQ.aravo <- dudi.pca(aravo$traits, row.w = afcL.aravo$cw, center = TRUE, scale = TRUE, scannf = FALSE, nf = 2)
#RLQ 整合上述三步结果,结果中保留两个排序轴,详情 ?rlq
rlq.aravo <- rlq(dudiR = acpR.aravo, dudiL = afcL.aravo, dudiQ = acpQ.aravo, scannf = FALSE, nf = 2)
rlq.aravo
summary(rlq.aravo)
结果中,若RLQ的前几协惯量轴承载的总协惯量越多,且原始数据集在协惯量轴中的投影特征与其独自排序分析中的特征越相似,则表明RLQ的结果越具有代表性,原始Q、L、Q数据集中的大部分共同结构都可以通过较少的RLQ轴呈现出来。
names(rlq.aravo)
rlq.aravo$eig
可通过排序图,直观呈现R、Q、L的相互关系。
#作图,展示前两轴,详情 ?rlqplot(rlq.aravo, axes = 1:2)
图中,R代表样方-环境变量数据集R,Q代表物种-性状数据集Q。
上方排序图展示了两数据集中,对象在RLQ协惯量轴中的位置。通过左图,可评估哪些样方之间在物种组成上具有相似性;通过右图,可评估哪些物种具有相似的分布特征;结合左右侧两图,可评估物种在样方中的丰度,左图中某样方的位置,在右图中相似位置处存在某物种,表明该物种在该样方中的丰度较高,或者出现频率较大。
下方排序图展示了两数据集中,变量对RLQ排序空间的贡献,相关性高的变量箭头方向趋于一致,箭头长度代表了变量对排序的贡献程度。通过左图或右图,可分别推测环境变量之间或物种性状之间的相关性;结合左右侧两图,即可推测哪种环境与物种的哪些性状之间有较大关联。
圈图中,背景圆圈的正交线代表RLQ的协惯量轴,箭头代表两数据集单独的排序分析的排序轴,若相互之间重合度相对较好,则表明RLQ可有效表征对应数据集单独的排序分析中的特征结构。
右下方为RLQ特征值柱形图,可知RLQ前两轴承载了绝大部分的协惯量,表明我们这里选择展示的RLQ前两轴具有较好的代表性。
结合置换检验可确定RLQ分析结果的有效性。
#RLQ 全局检验,999 次置换为例,详情 ?randtestrlq_rand <- randtest(rlq.aravo, nrepet = 999)
rlq_rand
plot(rlq_rand)
第四角分析
通过上述RLQ分析,我们可从中推断环境和物种性状的关系。并通过在RLQ分析中应用置换检验,获得数据集之间整体相关性的显著程度。但是,对于具体的环境变量和物种性状之间关系的显著性,RLQ分析则无法呈现。
第四角分析可以用来检验特定物种特征和环境变量之间的关联。
接下来继续使用上述数据集,以及R包ade4中的方法演示第四角分析过程。
变量之间的相关性
将三种数据集作为输入执行第四角分析,确定物种丰度介导的环境变量和物种性状变量间的相关程度,并通过置换检验显著性。
#第四角分析评估变量间的相关性,999 次置换检验确定显著性,Benjamini 方法校正 p 值,详情 ?fourthcornerfour.comb.aravo <- fourthcorner(tabR = aravo$env, tabL = aravo$spe, tabQ = aravo$traits,
modeltype = 6, p.adjust.method.G = 'BH', p.adjust.method.D = 'BH', nrepet = 999)
four.comb.aravo
#综合考虑 D、D2、G 统计量作为相关性的统计值
#显示的图中,显著的相关(默认 p<0.05)使用红色(Obs 正值代表正相关)或蓝色(Obs 负值代表负相关)标注
par(mfrow = c(1, 2))
plot(four.comb.aravo, alpha = 0.05, stat = c('D', 'D2', 'G'))
plot(four.comb.aravo, x.rlq = rlq.aravo, alpha = 0.05, stat = c('D', 'D2', 'G'), type = 'biplot')
计算结果中存在三种不同类型的统计量,均可作为衡量相关性的指标:
D2:分别测量定量变量和各类别之间的关联,相关系数用于指示给定类别与定量变量数值大小间的关联强度;
G:定量变量与所有分类变量之间的关联通过全局统计量(F)进行度量;
D:通过组内同质性的度量分别估计定量变量与各类别之间的关联,关联的强度由给定类别的定量变量值的离散度来表示。
上述结果综合考虑了这三种统计量,现在我们准备只考虑其中一种。
#只使用 stat = 'D2' 作为相关性的统计值,详情 ?fourthcornerpar(mfrow = c(1, 2))
plot(four.comb.aravo, alpha = 0.05, stat = 'D2')
plot(four.comb.aravo, x.rlq = rlq.aravo, alpha = 0.05, stat = 'D2', type = 'biplot')
#提取主要结果,如 D2 统计量
names(four.comb.aravo)
four.comb.aravo$tabD2
变量和RLQ轴的相关性
此外,对于上文RLQ分析结果中,变量与RLQ轴之间关系的显著程度,也可通过第四角分析给出。
#评估数据集 R、Q 中的变量与 RLQ 协惯量轴之间关系的显著程度
#999 次置换为例,Benjamini 方法校正 p 值,详情 ?fourthcorner.rlq
testRaxes.comb.aravo <- fourthcorner.rlq(rlq.aravo, type = 'R.axes',
modeltype = 6, p.adjust.method.G = 'BH', p.adjust.method.D = 'BH',nrepet = 999)
testQaxes.comb.aravo <- fourthcorner.rlq(rlq.aravo, type = 'Q.axes',
modeltype = 6, p.adjust.method.G = 'BH', p.adjust.method.D = 'BH',nrepet = 999)
testRaxes.comb.aravo
testQaxes.comb.aravo
#以 stat = 'D2' 统计量为例展示
#显示的图中,显著的相关(默认 p<0.05)使用红色(Obs 正值代表正相关)或蓝色(Obs 负值代表负相关)标注
par(mfrow = c(2, 2))
plot(testRaxes.comb.aravo, alpha = 0.05, stat = 'D2')
plot(testRaxes.comb.aravo, x.rlq = rlq.aravo, alpha = 0.05, stat = 'D2', type = 'biplot')
plot(testQaxes.comb.aravo, alpha = 0.05, stat = 'D2')
plot(testQaxes.comb.aravo, x.rlq = rlq.aravo, alpha = 0.05, stat = 'D2', type = 'biplot')
RLQ和第四角分析的结合
RLQ和第四角分析代表了分析物种性状与环境关系的一种综合方法。尽管二者的原理存在相似(都考虑到第四角矩阵),但具体的实现过程(排序与假设检验)和输出结果存在较大差异。RLQ分析提供的排序将样方、物种、性状和环境变量沿正交轴分配得分,在低维空间中产生表征原始数据集主要结构的图形摘要;第四角分析则一次测量并检验一种物种性状和一种环境变量之间的多重关联。
这些差异暗示了两种方法各自存在一些局限性。RLQ分析总结了多元结构,但全局测试无法识别具体哪些环境变量与哪些特定性状相关,且存在较多变量时,结果可能难以被解读;四角分析关注二元关联的显著性,没有考虑性状或环境变量间的协变,也没有关于样方和物种的信息。暗示了仅使用单一方法可能不足以解释生态效应。
因此,RLQ和第四角分析通常在性状-环境研究中联合使用,充分体现了两种方法在描述多元模式和检验二元关联重要性方面的互补性。它们的组合为我们评估生物特征对环境变化的响应提供了更加灵活的方案。
在上文的示例过程中,即已展示了这种结合在一起的过程,通过对同一组数据集执RLQ和第四角分析实现。
参考资料
A tutorial to perform fourth-corner and RLQ analyses in R:http://esapubs.org/archive/ecol/E095/002/suppl-1.pdf
Baty F, Jochen Rüdiger, Miglino N, et al. Exploring the transcription factor activity in high-throughput gene expression data using RLQ analysis. BMC Bioinformatics, 2013, 14(1):178.
Dray S, Choler P, Doledec S, et al. Combining the fourth‐corner and the RLQ methods for assessing trait responses to environmental variation. Ecology, 2014, 95(1): 14-21.
Dolédec S, Chessel D T, Braak, et al. Matching species traits to environmental variables: A new three-table ordination method. Environmental and Ecological Statistics, 1996, 3(2).
Legendre P, René Galzin and Mireille L. Harmelin-Vivien. Relating Behavior to Habitat: Solutions to the Fourth-corner Problem. Ecology, 1997, 78(2):547-562.